package com.su.ou.yang;

import java.util.ArrayList;
import java.util.List;

public class Test13 {
    public static void main(String[] args) {
        List<List<Integer>> list = permute(new int[]{1, 2, 3});
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }

        public static List<List<Integer>> permute(int[] nums) {
            List<List<Integer>> res = new ArrayList<List<Integer>>();

            List<Integer> list = new ArrayList<Integer>();


            if(nums.length==0||nums==null){
                return res;
            }
            solve(nums,res,list);
            return res;

        }
        public static void solve(int[] nums,List<List<Integer>> res ,List<Integer> list){
            if(list.size()==nums.length){
                res.add(new ArrayList<Integer>(list));

                return;
            }
            for(int i=0;i<nums.length;i++){
             if(list.contains(nums[i])){
              continue;
             }
                list.add(nums[i]);
                solve(nums,res,list);
                list.remove(list.size()-1);
            }



        }



}
